package com.dupt.system.mapper;

import java.util.List;
import com.dupt.system.domain.AssemblePlan;
import com.dupt.system.domain.vo.AssemblePlanVo;

/**
 * 组装计划Mapper接口
 * 
 * @author zhuanyu.sun
 * @date 2025-07-10
 */
public interface AssemblePlanMapper
{
    /**
     * 查询组装计划
     * 
     * @param assembleId 组装计划主键
     * @return 组装计划
     */
    public AssemblePlan selectAssemblePlanByAssembleId(String assembleId);

    /**
     * 查询组装计划列表
     * 
     * @param assemblePlan 组装计划
     * @return 组装计划集合
     */
    public List<AssemblePlan> selectAssemblePlanList(AssemblePlan assemblePlan);

    /**
     * 新增组装计划
     * 
     * @param assemblePlan 组装计划
     * @return 结果
     */
    public int insertAssemblePlan(AssemblePlan assemblePlan);

    /**
     * 修改组装计划
     * 
     * @param assemblePlan 组装计划
     * @return 结果
     */
    public int updateAssemblePlan(AssemblePlan assemblePlan);

    /**
     * 删除组装计划
     * 
     * @param assembleId 组装计划主键
     * @return 结果
     */
    public int deleteAssemblePlanByAssembleId(String assembleId);

    /**
     * 批量删除组装计划
     * 
     * @param assembleIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteAssemblePlanByAssembleIds(String[] assembleIds);

    /**
     * 根据内部码查询
     * @param innerCode
     * @return
     */
    public List<AssemblePlan> selectAssemblePlanLikeInnerCode(String innerCode);

    /**
     * 组装计划列表(用于领料)
     * @return
     */
    public List<AssemblePlan> planList();
}
